﻿; 智能处理智能打开(网址|百度网盘|路径|邮箱)
; 11.12 新增视频网站下载视频支持B站/好看/YouTube

mSmartProcess:
	sendinput,^c
	sleep,100
	txt = %Clipboard%
	Loop, parse, txt, `n, `r
	{
		S_LoopField=%A_LoopField%
		
		; 正则获取百度网盘
		panreg:="(pan\.baidu\.com\/s\/)?(?=\S*\d)(?=\S*[A-Z])(?=\S*[a-z])([a-z-\dA-Z])"
		alipanreg:="(www\.aliyundrive\.com\/s\/)?(?=\S*\d)(?=\S*[A-Z])(?=\S*[a-z])([a-z-\dA-Z])"
		; 网址（百度网盘|阿里网盘）
		if (RegExMatch(S_LoopField,"iS)^([\w-]+://?|www[.]).*"))
		{
			; 国内B站
			; panreg_video:="(www\.bilibili\.com\/video\/)||(haokan\.baidu\.com\/v?vid=)"
			; ; 需代理下载
			; panreg_video_proxy:="(www\.youtube\.com\/watch?)"
			; if (RegExMatch(S_LoopField,"iS)"panreg_video_proxy))
			; {
			; 		; --no-flat-playlist               当视频链接到一个视频和一个播放列表时，仅下载视频
			; 		; --mark-watched                   当视频链接到一个视频和一个播放列表时，下载视频和播放列表
			; 	param :="-f 'bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4] / bv*+ba/b' --proxy 127.0.0.1:11223 -o VideoDownload\\%(title)s"
			; 	run, %A_ScriptDir%\tools\TotalCMD\Plugins\WLX\vlister\yt-dlp.exe %param% %A_LoopField% 
			; 	sleep,10000
			; 	Run, %A_ScriptDir%\VideoDownload
			; 	return
			; }
			; if (RegExMatch(S_LoopField,"iS)"panreg_video))
			; {
			; 	; param :="-mt -tv -ia --work-dir"
			; 	; Run, %A_ScriptDir%\tools\TotalCMD\Plugins\WLX\vlister\BBDown.exe %param% %A_ScriptDir%\VideoDownload %A_LoopField% 
			; 	; return
			; 	SAVEDIR = %A_ScriptDir%\VideoDownload
			; 	ANNIEEXE = %A_ScriptDir%\tools\TotalCMD\Plugins\WLX\vlister\annie.exe
			; 	param = -o %SAVEDIR% -n 16 -C -retry 6 -p
			; 	Run, %ANNIEEXE% %param% %A_LoopField% 
			; 	sleep,10000
			; 	Run, %A_ScriptDir%\VideoDownload
			; 	return
			; }
			; 智能打开百度网盘 提取码保存至剪贴板
			if (RegExMatch(S_LoopField,"i)" panreg "`{23`}",url)) ;判断是否为百度网盘
			{
				RegExMatch(S_LoopField,"i)(?<![0-9a-zA-Z])([0-9a-zA-Z]{4})(?![0-9a-zA-Z:])",code)
				if(url=""){
					RegExMatch(S_LoopField,"i)" panreg "`{8`}",url)
				}
				if(url!=""){
					url:=RegExReplace(url,"i)^pan\.baidu\.com\/s\/")
					Run,https://pan.baidu.com/s/%url%#%code%
				}
			}else{
				run, % S_LoopField
				return
			}
		}
		; 邮箱打开我的邮箱
		if (RegExMatch(S_LoopField,"iS)^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"))
		{
			run,http://gmail.google.com
			Clipboard:= % S_LoopField
			return
		}
		; 本地路径
		if (RegExMatch(S_LoopField,"S)^(\\\\|.:\\)"))
		{  
			; 判断进程是否包含TC
			If ProcessExist("TOTALCMD.exe")
			{
				run,"%TCPath%" /T /O /S /L= "%A_LoopField%"
				return
			}else{
				Run, % "explorer /select, " S_LoopField
				return
			}
			return
		;}
		;else{
		; 功能用OBS笔记代替 复制内容转文本文件
		; 	Folder=%A_ScriptDir%\Collect
		; 	clip=%txt%
		; 	d = %A_YYYY%-%A_MM%-%A_DD%-%A_Hour%-%A_Min%
		; 	StringReplace, First, clip, `r`n, , All
		; 	StringLeft,First,First,20
		; 	FileAppend, %clip%, %Folder%/%d%%First%.txt
		; 	tooltip 成功  %Folder%/%d%%First%.txt
		; 	First=
		; 	clip=
		; 	sleep 2000
		; 	tooltip
		; 	return
		}
	}
return

mSmartDownload:
	;智能视频下载
	sendinput,^c
	sleep,100
	txt = %Clipboard%
	Loop, parse, txt, `n, `r
	{
		S_LoopField=%A_LoopField%
		; B站
		if (RegExMatch(S_LoopField,"iS)(www\.bilibili\.com\/video\/)"))
		{
			; param :="-mt -tv -ia --work-dir"
			; Run, D:\BoBO\WorkFlow\tools\TotalCMD\Plugins\WLX\vlister\BBDown.exe %param% %A_ScriptDir%\VideoDownload %A_LoopField% 
			; return
			SAVEDIR = %A_ScriptDir%\VideoDownload
			ANNIEEXE = %A_ScriptDir%\tools\TotalCMD\Plugins\WLX\vlister\annie.exe
			param = -o %SAVEDIR% -n 16 -C -retry 6 -p
			Run, %ANNIEEXE% %param% %A_LoopField% 
			sleep,10000
			Run, %A_ScriptDir%\VideoDownload
			return

		}
		; youtube
		if (RegExMatch(S_LoopField,"iS)(www\.youtube\.com\/watch?)"))
		{
			; --no-flat-playlist               当视频链接到一个视频和一个播放列表时，仅下载视频
			; --mark-watched                   当视频链接到一个视频和一个播放列表时，下载视频和播放列表
			param :="-f 'bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4] / bv*+ba/b' --proxy 127.0.0.1:11223 -o VideoDownload\\%(title)s"
			run, %A_ScriptDir%\tools\TotalCMD\Plugins\WLX\vlister\yt-dlp.exe %param% %A_LoopField% 
			sleep,10000
			Run, %A_ScriptDir%\VideoDownload
			return
		}
		else{
			; msgbox,"非指定网站"
			; return
			SAVEDIR = %A_ScriptDir%\VideoDownload
			ANNIEEXE = %A_ScriptDir%\tools\TotalCMD\Plugins\WLX\vlister\annie.exe
			param = -o %SAVEDIR% -n 16 -C -retry 6 -p
			Run, %ANNIEEXE% %param% %A_LoopField% 
			sleep,10000
			Run, %A_ScriptDir%\VideoDownload
			return
		}
	}
return

mYTDownload:
	sendinput,^c
	sleep,100
	txt = %Clipboard%
	param :="-f 'bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4] / bv*+ba/b' --proxy 127.0.0.1:11223 -o VideoDownload\\%(title)s"
	run, %A_ScriptDir%\tools\TotalCMD\Plugins\WLX\vlister\yt-dlp.exe %param% %txt% 
	sleep,10000
	Run, %A_ScriptDir%\VideoDownload
	return
return